Skip to content

Update to apache lucene 10.X#9205

Closed
matthiasblaesing wants to merge 13 commits intoapache:masterfrom
matthiasblaesing:update-lucene2
Closed

Update to apache lucene 10.X#9205
matthiasblaesing wants to merge 13 commits intoapache:masterfrom
matthiasblaesing:update-lucene2

Conversation

@matthiasblaesing
Copy link
Contributor

  • Additional package lucene-analysis-common required (KeywordAnalyzer, WhitespaceAnalyzer, PerFieldAnalyzerWrapper, CharTokenizer, LimitTokenCountAnalyzer)
  • FieldTypes were introduced to carry the field behavior (tokenization state, indexing options, storage settings)
  • BooleanQuery construction moved to builder
  • Collector interface was modified
  • TermEnum was replaced by TermsEnum
  • Terms are stored per field, so queries have to be specified with the target field
  • QuerySelectors were replaced by String sets
  • RAMDirecory was removed and is replaced by ByteBufferDirectories
  • Lock handling was reworked

@matthiasblaesing matthiasblaesing added this to the NB30 milestone Feb 13, 2026
@matthiasblaesing matthiasblaesing added PHP [ci] enable extra PHP tests (php/php.editor) CSL [ci] enable web job Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) labels Feb 13, 2026
@mbien mbien added Upgrade Library Library (Dependency) Upgrade ci:all-tests [ci] enable all tests labels Feb 13, 2026
- Additional package lucene-analysis-common required
  (KeywordAnalyzer, WhitespaceAnalyzer, PerFieldAnalyzerWrapper, CharTokenizer,
  LimitTokenCountAnalyzer)
- FieldTypes were introduced to carry the field behavior (tokenization
  state, indexing options, storage settings)
- BooleanQuery construction moved to builder
- Collector interface was modified
- TermEnum was replaced by TermsEnum
- Terms are stored per field, so queries have to be specified with the
  target field
- QuerySelectors were replaced by String sets
- RAMDirecory was removed and is replaced by ByteBufferDirectories
- Lock handling was reworked
@mbien
Copy link
Member

mbien commented Feb 14, 2026

The repo is likely not ready yet for a core JDK 21 dependency like lucene 10.x (#7871). Lucene 9.x uses JDK 11 as baseline which would avoid a bunch of problems as intermediate step (+ we already use it elsewhere too).

Both @lkishalmi and me tried to stabilize on lucene 4 first, I haven't touched my wip branch in a while but I believe Laszlo is experimenting right now with lucene 4 too.

@matthiasblaesing
Copy link
Contributor Author

Ok, given the reliance of enterprise and graalvm tests on JDK 17 I'll close this one. I'll mark the Lucene 9 one as draft. I think the remaining problem is, that the locking logik is off somewhere and now that lucene verifies lock it is caught.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:all-tests [ci] enable all tests ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) CSL [ci] enable web job Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) PHP [ci] enable extra PHP tests (php/php.editor) Upgrade Library Library (Dependency) Upgrade

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments